bitkeeper revision 1.524 (3f8d60bbWQ4zSOsE99hsVgC8-htjLw)
authorach61@labyrinth.cl.cam.ac.uk <ach61@labyrinth.cl.cam.ac.uk>
Wed, 15 Oct 2003 14:59:07 +0000 (14:59 +0000)
committerach61@labyrinth.cl.cam.ac.uk <ach61@labyrinth.cl.cam.ac.uk>
Wed, 15 Oct 2003 14:59:07 +0000 (14:59 +0000)
add hook for pervasive debugging

xen/common/dom0_ops.c
xen/include/hypervisor-ifs/dom0_ops.h

index c3e098dd3c018ec8f034f1dee8f416e6777f77c4..408f1a763d96e1da20db4c622f80dfc3bc342073 100644 (file)
@@ -308,6 +308,15 @@ long do_dom0_op(dom0_op_t *u_dom0_op)
     }
     break;
 
+    case DOM0_DEBUG:
+    {
+      op.u.debug.out1 = op.u.debug.in2 + 1;
+      op.u.debug.out2 = op.u.debug.in1 + 1;
+      copy_to_user(u_dom0_op, &op, sizeof(op));
+      ret = 0;
+    }
+    break;
+
 
     default:
         ret = -ENOSYS;
index a68db6ce95e17461d1b5f65604ea56050dd19308..4aa0810f442457c03c182899f2f309bff234fc1e 100644 (file)
@@ -21,6 +21,7 @@
 #define DOM0_BUILDDOMAIN   13
 #define DOM0_IOPL          14
 #define DOM0_MSR           15
+#define DOM0_DEBUG         16                          /* pervasive debugger */
 
 #define MAX_CMD_LEN       256
 #define MAX_DOMAIN_NAME    16
@@ -108,6 +109,15 @@ typedef struct dom0_msr_st
 
 } dom0_msr_t;
 
+typedef struct dom0_debug_st
+{
+    /* IN variables. */
+    int in1, in2;
+    /* OUT variables. */
+    int out1, out2;
+
+} dom0_debug_t;
+
 typedef struct dom0_op_st
 {
     unsigned long cmd;
@@ -122,6 +132,7 @@ typedef struct dom0_op_st
         dom0_getdominfo_t getdominfo;
         dom0_iopl_t iopl;
        dom0_msr_t msr;
+       dom0_debug_t debug;
     }
     u;
 } dom0_op_t;